<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON</title>
    <style>
        #result {
            width: 200px;
            height: 100px;
            border: 1px solid red;
        }
    </style>
</head>

<body>
    <div id="result"></div>
    <script>
        const result = document.querySelector("#result");
        // 绑定键盘事件
        window.onkeydown = function() {
            // 1.创建对象
            const xhr = new XMLHttpRequest();
            // 设置响应的数据类型为JSON,如果设置了后面就不需要使用JSON.parse()方法了
            // xhr.responseType = 'json';
            // 2.初始化，设置请求方法和URL
            xhr.open('GET', 'http://127.0.0.1:8000/json-server');
            // 3.发送
            xhr.send();
            // 4.事件绑定，处理服务端返回的结果
            xhr.onreadystatechange = function() {
                // 服务端返回了所有结果
                if(xhr.readyState === 4) {
                    // 响应状态码2xx 表示成功
                    if(xhr.status >= 200 && xhr.status < 300) {
                        // 上面不定义json的话，这里的xhr.response是一个字符串，需要手动转换为对象才能使用
                        console.log(xhr.response);
                        console.log(typeof xhr.response);  // string
                        let data = JSON.parse(xhr.response);
                        result.innerHTML = data.name;
                        console.log(typeof data);  // object
                    }
                }
                
            }
        }
    </script>
</body>

</html>